# 字典是Python的中重要的一种数据类型，可以存储任意对像。
# 字典是以键值对的形式创建的{'key':'value'}利用大括号包裹着。
#注意
# 1、字典的键（key）不能重复，值（value）可以重复。
# 2、字典的键（key）只能是不可变类型，如数字，字符串，元组
dict1={}   #声明了一个空字典
print(dict1)
print(type(dict1))
# 声明一个字典并附初始值；字典的键（key）不能重复，若出现相同的key值，后面的会覆盖点前面相同key的value值
dict2={"name":"张三","age":16,"name":"李四"}
print(dict2)
########################查询#####################################
# keys，获取字典中所有key值，将所有的key放入到列表中
print(dict2.keys())
# values，获取字典中所有value值，将所有的value放入到列表中
print(dict2.values())
# get方法，可以通过指定的key取对应的value值
print(dict2.get("name"))
# 可以通过item方法，获取键值对组成的元祖
print(dict2.items())
for key,value in dict2.items():
    print(key,value)
    pass
# 可以通过key值取value
print("=====================")
# 可以通过键值取value
print(dict2["age"])
# get方法在python是安全取值的方式，通过get方法取值时，若该键值不存在则返回none
print(dict2.get("phone"))
# 若通过[]进行取值时，若该键值不存在，则会报错
# print(dict2["phone"])

#######################删除方法###################################
# pop方法，可以通过指定的key值，删除指定的key与对应的value
dict2.pop("name")
print(dict2)

######################修改方法#############################################
# 通过字典变量["key"]取对应的value，若该key值存在，则对value值进行修改
dict2["age"]=18
print(dict2)


######################新增方法#############################################
# 通过字典变量["key"]取对应的value，若该key值不存在，则将key-value添加进原列表
dict2["name"]="红桃8"
print(dict2)


# 补充讲解
# len方法可以获取字典中有多少键值对
print(len(dict2))
# del方法删除字典
# del dict2
# print(dict2)

# update方法，可以对原字典元素进行修改或新增
dict2.update({"age":22})
dict2.update({"phone":18654778855})
print(dict2)
